#!/bin/bash
###############################################################################
# @用例ID: 20220410-152859-724647310
# @用例名称: test_shell_testcase
# @用例级别: 3
# @用例标签:
# @用例类型: 功能
###############################################################################
[ -z "$TST_TS_TOPDIR" ] && {
    TST_TS_TOPDIR="$(realpath "$(dirname "$0")/..")"
    export TST_TS_TOPDIR
}
source "${TST_TS_TOPDIR}/lib/common.sh" || exit 1
###############################################################################

g_tmpdir="$(mktemp -d)"

tc_setup() {
    msg "this is tc_setup"
    # @预置条件:系统正常运行且已安装parted软件包
    assert_true yum install -y parted
    return 0
}

do_test() {
    msg "this is do_test"
    # @测试步骤:1:创建空的磁盘镜像文件，这里创建一个10M的硬盘
    # @预期结果:1:成功显示文件分区情况
    assert_true dd if=/dev/zero of=disk.img bs=1M count=10
    # @测试步骤:2: 使用losetup将磁盘镜像文件虚拟成块设备
    # @预期结果:2:成功将磁盘镜像文件虚拟成块设
    assert_true losetup /dev/loop0 disk.img
    # @测试步骤:3:格式化并挂载块设备
    # @预期结果:3:成功挂载块设备
    assert_true mkfs.ext4 disk.img
    assert_true mount /dev/loop0 /tmp
    # @测试步骤:4:用parted查看新建分区情况
    # @预期结果:3:成功显示新建分区情况
    assert_true parted /dev/loop0 print
    return 0
}

tc_teardown() {
    msg "this is tc_teardown"
    unmount /temp
    losetup -d /dev/loop0
    rm dish.img
    rm -rfv "$g_tmpdir" || return 1
    return 0
}

###############################################################################
tst_main "$@"
###############################################################################
